fix(miner): expose the freeform idea feasibility gate via a CLI command#6224
Conversation
idea-feasibility.js (JSONbored#5789) implemented the pre-compute feasibility gate for freeform Rent-a-Loop ideas (JSONbored#5671) but had zero callers anywhere in bin/, lib/, or test/unit -- built against the JSONbored#4779 intake schema and never wired in. Wire it through a new `loopover-miner idea-feasibility` subcommand, the freeform-idea counterpart to the metadata `feasibility` command (feasibility-cli.js, JSONbored#4270). It follows that command's parse -> execute -> render precedent so an idea runs through the same buildFeasibilityVerdict machinery before compute is allocated, except the idea's issueStatus is derived from its own structure: no objective success signal (--hint) is invalid/rejected and an unresolvable target (--not-resolvable) is missing/flagged. Closes JSONbored#6155
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6224 +/- ##
==========================================
- Coverage 95.32% 95.32% -0.01%
==========================================
Files 597 598 +1
Lines 47128 47114 -14
Branches 15012 14987 -25
==========================================
- Hits 44926 44912 -14
Misses 1477 1477
Partials 725 725
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-15 23:17:00 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 3 non-blocking
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Summary
packages/loopover-miner/lib/idea-feasibility.js(feat(miner): pre-execution feasibility check for freeform ideas #5789) implemented the pre-compute feasibility gate for freeform Rent-a-Loop ideas (Adapt feasibility-cli.js scoring for freeform idea text #5671), but a repo-wide search found zero callers — it was built and documented against the Idea-intake bridge schema #4779 intake schema yet never wired into anything.loopover-miner idea-feasibilityCLI subcommand: the freeform-idea counterpart to the metadata-resolvedfeasibilitycommand (feasibility-cli.js, feat(miner-plan): wire the feasibility gate into a new MCP tool + miner CLI command #4270), following that command's exact parse → execute → render precedent so a renter's idea is now run through the samebuildFeasibilityVerdictmachinery before compute is allocated.issueStatusis derived from its own structure (deriveIdeaIssueStatus): an idea with no objective success signal (--hint) isinvalid/rejected, and an unresolvable target (--not-resolvable) ismissing/flagged.Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #123) — a linked open issue is required for every contributor PR.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally — the newlib/idea-feasibility-cli.jsis at 100% lines, statements, functions, and branches (23/23); the two changedlib/cli.jshelp lines add no branches and are covered by the existingprintHelptest.npm run test:workersnpm run build:mcp/npm run build:minernpm run test:miner-pack(newlib/idea-feasibility-cli.{js,d.ts}packaged)npm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderate(0 vulnerabilities)If any required check was skipped, explain why:
ui:*,test:workers) are not applicable — this change touches only the miner CLI (packages/loopover-miner/**); no UI, worker, OpenAPI, or MCP surface changed. CI gates those steps conditionally on the affected paths.docs:drift-checkandmanifest:drift-checkwere also run and pass.Safety
UI Evidencesection. (N/A — no visible UI/frontend/docs/extension change.)Notes
feasibility-cli.jsis dispatched purely as a local, offline CLI subcommand inbin/loopover-miner.js(before the npm update-check); the newidea-feasibilitycommand is wired identically. Coverage for the new module is measured by Codecov (packages/loopover-miner/lib/**).Closes #6155